package com.smarthome.core.account;

import java.util.List;

import com.smarthome.domain.bean.ShAccount;
import com.smarthome.domain.vo.boss.DataGrid;
import com.smarthome.domain.vo.boss.PageHelper;

/**
 * @author zyf
 * @date 2015年9月16日 下午5:24:26
 * @version 1.0
 * @Description: 平台用户操作接口
 */
public interface AccountService {

    /**
     * 获取平台用户分页对象
     * @param account
     * @return
     */
    DataGrid queryDataGrid(ShAccount account, PageHelper page);

    /**
     * 根据ID查询平台用户信息
     * @param id
     * @return
     */
    ShAccount queryAccountById(Long id);

    /**
     * 根据条件查询平台用户
     * @param account
     * @return
     */
    List<ShAccount> queryAccounts(ShAccount account);

    /**
     * 根据门牌ID查询业主是否已存在
     * @param doorId
     * @return
     */
    boolean ownerExsit(Long doorId);

    /**
     * 新增平台用户
     * @param account
     */
    void add(ShAccount account);

    /**
     * 更改平台用户
     * @param account
     */
    void edit(ShAccount account);

    /**
     * 删除平台用户
     * @param account
     */
    void delete(Long id);

    /**
     * 登录名是否存在
     * @return
     */
    boolean longinNameExist(String loginName);

    ShAccount queryByNameAndPwd(String loginName, String password);

    /**
     * 重置缓存里的账号信息
     * @param accountId
     * @author KongXiangyu
     */
    void resetAccountInCache(long accountId);
    
    
    /**
     * 
    * @Title: getShAccountIds 
    * @Description: 根据查询条件获取id列表 
    * @param account
    * @return
    * List<String>
    * @throws 
    * @author cyj
     */
    List<String> getShAccountIds(ShAccount account);
}
